package com.wei.czz.common.enums.blog.comment;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * Created by IntelliJ IDEA.
 *
 * @author wei
 * date: 2021-08-24 10:38:00
 * className: CommentEnum 博客评论枚举类
 * version: 2.0
 * description:
 */
@Getter
@AllArgsConstructor
public enum CommentEnum {
    /*
        博客评论公共字典值
     */
    TOP_COMMENT_SIZE(10, "用户可以置顶的博客评论最大数量"),

    /*
        博客评论表字段字典值
     */
    // 评论显示状态
    HIDE_NO(0, "评论显示"), HIDE_YES(1, "评论隐藏"),
    // 作者点赞评论状态
    AUTHOR_LIKE(0, "作者点赞评论"), AUTHOR_DISLIKE(1, "作者没有点赞评论"),
    // 评论置顶状态
    TOP_YES(0, "评论置顶"), TOP_NO(1, "评论不置顶"),
    // 评论默认点赞数和默认回复数
    LIKE_NUM(0, "评论默认点赞数"), REPLY_NUM(0, "评论默认回复数");

    /**
     * 值
     */
    private final Integer value;

    /**
     * 名称
     */
    private final String name;

    /**
     * 判断参数值是不是‘作者点赞’属性枚举值
     * @param value 参数值
     * @return 校验结果[true-属于 false-不属于]
     */
    public static boolean isAuthorLikeValue(Integer value) {
        return AUTHOR_LIKE.getValue().equals(value) || AUTHOR_DISLIKE.getValue().equals(value);
    }

    /**
     * 判断参数值是不是‘评论置顶’属性枚举值
     * @param value 参数值
     * @return 校验结果[true-属于 false-不属于]
     */
    public static boolean isTopFlagValue(Integer value) {
        return TOP_YES.getValue().equals(value) || TOP_NO.getValue().equals(value);
    }

    /**
     * 判断参数值是不是‘评论隐藏’属性枚举值
     * @param value 参数值
     * @return 校验结果[true-属于 false-不属于]
     */
    public static boolean isHideFlagValue(Integer value) {
        return HIDE_NO.getValue().equals(value) || HIDE_YES.getValue().equals(value);
    }

    public long getLongValue() {
        return (long) value;
    }

}
